using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

using Business_Objects.BusinessRules;
using Business_Object;

namespace Business_Objects
{
    /// <summary>
    /// Class that holds information about a customer.
    /// </summary>
    /// <remarks>
    /// Enterprise Design Pattern: Domain Model, Identity Field.
    /// 
    /// This is also the place where business rules are established.
    /// 
    /// The Domain Model Design Pattern states that domain objects incorporate 
    /// both behavior and data. Behavior may include simple or complex business logic.
    /// 
    /// The Identity Field Design Pattern saves the ID field in an object to maintain
    /// identity between an in-memory business object and that database rows.
    /// </remarks>
    public class BienLaiThuChiTiet : BusinessObject
    {
        private Guid _id;
        private Guid _dinhMucThuID = Guid.Empty;
        private decimal _dongia;
        private decimal _soluong;
        private decimal _thanhtien;
        private bool _nopdu;
        private decimal _dinhmucThuThucTe;
        private decimal _conphaiThu;
        private long _bienLaiThuID;

        public BienLaiThuChiTiet()
        {
        }
        public BienLaiThuChiTiet(Guid _id,
         Guid _dinhMucThuID,
         decimal _dongia,
         decimal _soluong,
         decimal _thanhtien,
         bool _nopdu,
         decimal _dinhmucThuThucTe,
         decimal _conphaiThu,
         long _bienLaiThuID)
        {
            Id = _id;
            DinhMucThuID = _dinhMucThuID;
            Dongia = _dongia;
            Soluong = _soluong;
            Thanhtien = _thanhtien;
            Nopdu = _nopdu;
            DinhmucThuThucTe = _dinhmucThuThucTe;
            ConphaiThu = _conphaiThu;
            BienLaiThuID = _bienLaiThuID;
        }
        #region Public Properties
        public Guid Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public Guid DinhMucThuID
        {
            get { return _dinhMucThuID; }
            set { _dinhMucThuID = value; }
        }

        public decimal Dongia
        {
            get { return _dongia; }
            set { _dongia = value; }
        }

        public decimal Soluong
        {
            get { return _soluong; }
            set { _soluong = value; }
        }

        public decimal Thanhtien
        {
            get { return _thanhtien; }
            set { _thanhtien = value; }
        }

        public bool Nopdu
        {
            get { return _nopdu; }
            set { _nopdu = value; }
        }

        public decimal DinhmucThuThucTe
        {
            get { return _dinhmucThuThucTe; }
            set { _dinhmucThuThucTe = value; }
        }

        public decimal ConphaiThu
        {
            get { return _conphaiThu; }
            set { _conphaiThu = value; }
        }

        public long BienLaiThuID
        {
            get { return _bienLaiThuID; }
            set { _bienLaiThuID = value; }
        }
        #endregion
    }
}
